Responsive to customer demand, software developers can provide comprehensive database systems that are preconfigured to address a wide variety of business computing scenarios. However, regardless of the amount of work put into the system, customers still frequently require customization of the system. For example, a customer may wish to add a field to a database table to track information specific to a business process that the customer finds indispensable.
A conventional approach is to simply add another column to the database. However, such an approach is problematic in a multi-tenant environment. Because each tenant may have different business process needs, such an approach is not feasible. First, the fields may conflict or be inconsistent. Second, tenant isolation principles require that one tenant not see how the fields added by the other tenant are configured. There is therefore room for improvement.